To model delay in electronic circuits and devices, such as logic cells, delay models can be used. A commonly used methods to model delay or other device characteristics is the non-linear delay model (NLDM), developed by Synopsys, Inc. of Mountain View, Calif. The NLDM uses look-up tables indexed by sample points and utilizes bilinear interpolation to find delay within a certain domain. These look-up tables form libraries that define the structure, function, timing, and environment of the circuits and devices. The NLDM, while useful for many circuits, fails to take into account voltage and temperature effects in a single library. Additionally, large tables are required to support higher accuracy model calculations.
As an improvement to the NLDM, a scalable polynomial delay model/scalable polynomial power model (SPDM/SPPM) has been introduced. In the SPDM/SPPM, the lookup tables of the NLDM are replaced by scalable polynomials to model delay/power. Scalable polynomials are polynomials that can have both their order and form scaled to fit the data. In a SPDM/SPPM system, the data results achieved through simulation of a device can be curve fitted to an n-dimensional polynomial, which can be save as a Liberty library for further use in modeling the device. An advantage of the SPDM/SPPM system is that the stored polynomials typically take less memory to save as compared to the lookup tables used in the NLDM system. In addition, the SPDM can include temperature and voltage as additional dimensions.
One drawback to the use of SPDM/SPPM is that the derived curve may have a large error as compared to actual results. For example, while a given polynomial may be successful curve fitted to a given data set, other points outside the data set can lie far from derived polynomial curve. This error is known as overfitting. Overfitting typically becomes worse the higher the order of the polynomial that is used to curve fit the data set. One way to minimize overfitting is to increase the number of data points in the data set before curve fitting. Another way to minimize overfitting is to use lower order polynomials to curve fit the data.
Thus, current SPDM/SPPM systems have a tradeoff in terms of accuracy and throughput. In order to increase accuracy of a curve fit, high-order polynomials are needed to model the given circuit. However, the higher the order of the polynomial, the more likely overfitting is to occur. To compensate for the overfitting, more control points are needed to use to perform curve fitting. The more control points the larger the curve fit runtime and the lower the throughput. Increasing throughput requires less curve fit runtime, which implies less control points. If there are less control points, there is a more likelihood of overfitting occurring. In order to compensate for the likelihood of overfitting, lower order polynomials are used, which reduces the accuracy of the model.